package pe.edu.upla.lamerced.service.impl;

import java.util.List;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import pe.edu.upla.lamerced.DAO.HabitacionDAO;
import pe.edu.upla.lamerced.bean.Habitacion;
import pe.edu.upla.lamerced.bean.Tipohabitacion;
import pe.edu.upla.lamerced.service.HabitacionService;


public class HabitacionServiceImpl implements HabitacionService {
	
	private HabitacionDAO habitacionDAO;
	public HabitacionDAO getHabitacionDAO() {
      return habitacionDAO;
   }
   public void setHabitacionDAO(HabitacionDAO habitacionDAO) {
      this.habitacionDAO = habitacionDAO;
   }
   
	@Override
	public void eliminarHabitacion(Habitacion habitacion) {
		getHabitacionDAO().eliminarHabitacion(habitacion);
	}

	@Override
	public List<Habitacion> listaHabitaciones() {
		return getHabitacionDAO().listaHabitaciones();
	}

	@Override
	public List<Habitacion> listaHabitaciones(Habitacion habitacion) {
		return getHabitacionDAO().listaHabitaciones(habitacion);
	}

	@Override
	public void modificarHabitacion(Habitacion habitacion) {
		getHabitacionDAO().modificarHabitacion(habitacion);
	}

	@Override
	public void registrarHabitacion(Habitacion habitacion) {
		getHabitacionDAO().registrarHabitacion(habitacion);
	}

	@Override
	public Habitacion obtenerHabitacion(Integer idhabitacion) {
		return getHabitacionDAO().obtenerHabitacion(idhabitacion);
	}

	@Override
	public List<Tipohabitacion> listaTipoHabitacion() {
		return getHabitacionDAO().listaTipoHabitacion();
	}

	@Override
	public Tipohabitacion obtenerTipoHabitacion(Integer idtipoHabitacion) {
		return getHabitacionDAO().obtenerTipoHabitacion(idtipoHabitacion);
	}

	@Override
	@Transactional(propagation=Propagation.REQUIRES_NEW)
	public void registrarTipoHabitacion(Tipohabitacion th) {
		 getHabitacionDAO().registrarTipoHabitacion(th);
	}

   public List<Habitacion> listaHabitacionessinEstado(Habitacion habitacion) {
      return getHabitacionDAO().listaHabitacionessinEstado(habitacion);
   }


}
